package com.zym.init.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zym.init.model.dto.PageDTO;
import com.zym.init.model.po.RolePo;
import com.zym.init.model.query.RoleQuery;
import com.zym.init.model.vo.RoleVo;

import java.util.List;

/**
* @author zouyangming
* @description 针对表【role(角色表)】的数据库操作Service
* @createDate 2024-05-25 00:46:42
*/
public interface RoleService extends IService<RolePo> {
    /**
     * 获取角色列表
     *
     * @return 角色列表
     */
    PageDTO<RoleVo> getPage(RoleQuery query);

    /**
     * 新增角色
     *
     * @return 结果
     */
    boolean add(RoleQuery query);

    /**
     * 编辑角色
     *
     * @return 结果
     */
    boolean edit(RoleQuery query);

    /**
     * 根据角色代码获取角色信息列表
     */
    List<RoleVo> getByCodeList(List<String> codes);

    /**
     * 判断权限代码是否被使用
     *
     * @param ids 权限ID列表
     * @return 是否被使用
     */
    boolean isRoleCodeUsed(List<Long> ids);
}
